In virtual computing, a hypervisor provides the virtualization of a computer system, on which a guest operating system runs. In full virtualization, a guest operating system runs unmodified on a hypervisor. However, a paravirtualization technique may be applied in which the guest operating system communicates with the hypervisor to improve performance and efficiency. Accordingly, the guest operating system may cooperate with the hypervisor to obtain better performance when running in a virtual machine.
Single-root input/output virtualization (SR-IOV) offers network function virtualization (NFV) solutions with a number of built-in security and performance benefits. In an SR-IOV architecture, a Virtual Function (VF) driver resides within the Virtual Machine (VM), and a Physical Function (PF) driver resides within the Hypervisor. Conventionally, a VF driver is specific to the underlying hardware, which presents challenges when an existing VM is to be used with a new networking hardware.